package com.example.qsindusty.jmm_spline.api;


import com.example.qsindusty.jmm_spline.ChooseCar.Cardata;
import com.example.qsindusty.jmm_spline.ChooseDriver.DriverData;
import com.example.qsindusty.jmm_spline.ContralFragment.ControlData;
import com.example.qsindusty.jmm_spline.ContralFragment.GPSData;
import com.example.qsindusty.jmm_spline.InfomationFragment.InfoData;
import com.example.qsindusty.jmm_spline.LoginActivity.LoginData;
import com.example.qsindusty.jmm_spline.OrdeFragment.OrderData;


import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;


/**
 * Created by Administration on 2018/3/5.
 */

public interface JMMApi {
    @FormUrlEncoded
    @POST("pages/android/login/login.jsp")
    Observable<LoginData> login(@Field("YHID") String YHID,
                                @Field("YHMM") String YHMM,
                                @Field("YHLX") String YHLX);
     /**
             * 获取所有定位
     * @param token
     * @return
             */
    @FormUrlEncoded
    @POST("pages/android/getOnlineDriver.jsp")
    Observable<ControlData> geteAllGPS(@Field("TOKEN") String token);

    /**
     * 单个GPS
     * @param token
     * @param status
     * @param orderxh
     * @return
     */
    @FormUrlEncoded
    @POST("pages/android/getGpsInfo.jsp")
    Observable<GPSData> getSingleGPS(@Field("TOKEN") String token,
                                     @Field("LX") String status,
                                     @Field("ORDERXH") String orderxh);







  /**
     * 获取订单
     * @param token
     * @param zt
     * @param rows
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("pages/android/createOrder/queryOrderList.jsp")
    Observable<OrderData> getOrder(@Field("TOKEN") String token,
                                   @Field("ZT") String zt,
                                   @Field("rows") String rows,
                                   @Field("page") String page);
    @FormUrlEncoded
    @POST("pages/android/orderSetDriver.jsp")
    Observable<BaseData> choiceDriver(@Field("TOKEN") String token,
                                      @Field("ORDERXH") String ORDERXH,
                                      @Field("DRIVERXH") String DRIVERXH,
                                      @Field("SJXM") String SJXM);
    @FormUrlEncoded
    @POST("pages/android/orderSetCar.jsp")
    Observable<BaseData> choiceCar(@Field("TOKEN") String token,
                                   @Field("ORDERXH") String ORDERXH,
                                   @Field("jsonData") String jsonData);

    /**
     * 获取司机
     * @param token
     * @return
     */
    @FormUrlEncoded
    @POST("pages/android/getFreeDriver.jsp")
    Observable<DriverData> getFreeDriver(@Field("TOKEN") String token,
                                         @Field("rows") String rows,
                                         @Field("page") String page,
                                         @Field("XM") String name);
    @FormUrlEncoded
    @POST("pages/android/getFreeCar.jsp")
    Observable<Cardata> getFreeCar(@Field("TOKEN") String token,
                                   @Field("rows") String rows,
                                   @Field("page") String page,
                                   @Field("CPH") String cph
    );


    @FormUrlEncoded
    @POST("pages/android/getMsgByToken.jsp")
    Observable<InfoData> getSystemInfos(@Field("TOKEN") String token,
                                        @Field("rows") String rows,
                                        @Field("page") String page
    );

    @FormUrlEncoded
    @POST("pages/android/createOrder/queryOrderList.jsp")
    Observable<OrderData> SearchOrder(@Field("TOKEN") String token,
                                      @Field("rows") String rows,
                                      @Field("page") String page,
                                      @Field("SEARCH") String search
    );

    /**
     * 获取复合订单列表
     * @param token
     * @param status
     * @param rows
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("pages/android/createOrder/queryCanCreateChildOrderList.jsp")
    Observable<OrderData> getRecombinationOrder(
            @Field("TOKEN") String token,
            @Field("ZT") String status,
            @Field("rows") String rows,
            @Field("page") String page);
    @FormUrlEncoded
    @POST("pages/android/createOrder/queryChildOrderList.jsp")
    Observable<OrderData> getChildOrder(
            @Field("TOKEN") String token,
            @Field("SEARCH") String parentxh,
            @Field("rows") String rows,
            @Field("page") String page);
    @FormUrlEncoded
    @POST("pages/android/createOrder/queryParentOrderList.jsp")
    Observable<OrderData
            > getKeyOrder(
            @Field("TOKEN") String token,
            @Field("rows") String rows,
            @Field("page") String page);
    @FormUrlEncoded
    @POST("pages/android/createOrder/createChildOrder.jsp")
    Observable<BaseData> createChildOrder(
            @Field("TOKEN") String token,
            @Field("parentXH") String parentXH,
            @Field("QYXH") String qynum,
            @Field("jsonData") String json);















}
